Over the past several years, physical size of computing devices has decreased dramatically. Miniature devices having limited computing power, low power requirement, and mini to ultra-mini in form factor, have become ubiquitous and are revolutionizing the way machines could help humans. They are finding wide applications and adaptation in various areas and industries, such as, retail, transportation, defense and healthcare. Due to the nature of such miniature devices and their intended purposes, applications running on them are becoming more and more complex and demand higher quality.
The existing test methodologies require significant computing resources (e.g., memory, processing capability, etc.) in a target device (i.e., device under test). As will be appreciated, the amount of computing resources available on such miniature devices may be very limited, and therefore testing of applications or components in such devices may be limited. For example, a miniature device may not even have enough memory to deploy a full fledge device agent (DA) as required by some of the existing testing methodologies. Moreover, resource availability may vary dynamically during the course of test execution, and may lead to termination of the testing session in such miniature devices. In short, the limited and dynamic resource availability in a miniature device make the existing testing methodologies unfit and ineffective for testing the miniature device.
Further, existing techniques employ a request-response based protocols to provide communication between a test agent and device agent. However, XML or JSON based payload used in existing request-response based protocols makes the footprint of DA higher with respect to small memory size of the miniature device. Additionally, XML or JSON parsing logic may be expensive in terms of memory and computation for such miniature devices. Further, existing request-response based protocols give the only the final result (i.e.; PASS/FAIL), thereby making it difficult to pin-point the place where test case breaks. A manual troubleshooting in such miniature devices is tedious due to complex environment setup.